#ifndef AFX_CREBAR_H
#define AFX_CREBAR_H

#include <windows.h>
#include <uxtheme.h>

class CRebar {
  private:
    HWND m_hRebar;
  public:
    CRebar();
    void SetHandle(HWND hRebar);
    HWND GetHandle();
    HWND Create(UINT nStyle, HWND hParentWnd, UINT nID);
    BOOL Destroy();
    INT BeginDrag(UINT uBand, DWORD dwPos);
    INT DeleteBand(UINT nIndex);
    INT DragMove(DWORD dwPos);
    INT EndDrag();
    INT GetBandBorders(UINT uBand, LPRECT lprc);
    INT GetBandCount();
    INT GetBandInfo(UINT uBand, LPREBARBANDINFO lprbbi);
    INT GetBandMargins(PMARGINS pMargins);
    INT GetBarHeight();
    INT GetBarInfo(LPREBARINFO lprbi);
    INT GetBkColor();
    INT GetColorScheme(LPCOLORSCHEME lpcs);
    INT GetDropTarget(IDropTarget * ppDropTarget);
    INT GetExtendedStyle();
    INT GetPalette();
    INT GetRect(UINT uBand, LPRECT lprc);
    INT GetRowCount();
    INT GetRowHeight(UINT uBand);
    INT GetTextColor();
    INT GetTooltips();
    INT GetUnicodeFormat();
    INT HitTest(LPRBHITTESTINFO lprbht);
    INT IDToIndex(UINT uBandID);
    INT InsertBand(UINT nIndex, LPREBARBANDINFO lpBandInfo);
    INT MaximizedBand(UINT uBand, BOOL fIdeal);
    INT MinimizeBand(UINT uBand);
    INT MoveBand(UINT iFrom, UINT iTo);
    INT PushChevron(UINT uBand, long lAppValue);
    INT SetBandInfo(UINT uBand, LPREBARBANDINFO lprbbi);
    INT SetBandWidth(UINT uBand, UINT nWidth);
    INT SetBarInfo(LPREBARINFO lprbi);
    INT SetBkColor(COLORREF clrBk);
    INT SetColorScheme(LPCOLORSCHEME lpcs);
    INT SetExtendedStyle(UINT nFlags, UINT nStyles);
    INT SetPalette(HPALETTE hpal);
    INT SetParent(HWND hParent);
    INT SetTextColor(COLORREF clrText);
    INT SetToolTips(HWND hTooltip);
    INT SetUnicodeFormat(BOOL bUnicode);
    INT SetWindowTheme(LPWSTR pwStr);
    INT ShowBand(UINT uBand, BOOL fShow);
    INT SizeToRect(LPRECT prc);
};

#endif // AFX_CREBAR_H
